#ifndef __DOUBLE_LINK_LIST_H__
#define __DOUBLE_LINK_LIST_H__
//链表节点
typedef struct ListNode{
	int data;//有效数据
	struct ListNode *prev;//指向前一个节点
	struct ListNode *next;//指向后一个节点
	}LIST_NODE;
typedef struct List{
	LIST_NODE *head;//指向链表中第一个节点
	LIST_NODE *tail;//指向链表中最后一个节点
	}LIST;
//创建空链表
LIST *list_create(void);
//销毁链表
void list_destroy(LIST *list);
//插入头部节点
//void list_front(LIST *list,int data);
//指定位置插入
int list_insert(LIST *list,int pos,int data);
//后向遍历
void list_next_print(LIST *list);
//前向遍历
void list_prev_print(LIST *list);
//插入尾部节点
void list_append(LIST *list,int data);
//删除指定节点
int list_erase(LIST *list, int pos);
//删除指定节点
LIST_NODE *list_remove(LIST *list,int pos);
#endif
